package domain

import "github.com/lab-online/internal/course/entity"

type CourseRepository interface {
	SaveCourse(entity.CourseEntity) (entity.CourseEntity, error)
	DeleteCourse(entity.CourseEntity) error
	GetCourseByID(uint) (entity.CourseEntity, error)
	GetCourseWithExperiments(uint) (entity.CourseEntity, error)
	GetCourses(entity.CourseEntity) ([]entity.CourseEntity, error)

	SaveExperiment(entity.ExperimentEntity) (entity.ExperimentEntity, error)
	DeleteExperiment(entity.ExperimentEntity) error
	GetExperimentByID(uint) (entity.ExperimentEntity, error)
	SearchExperiments(entity.ExperimentEntity) ([]entity.ExperimentEntity, error)
}
